Scroll to navigation

rte_memcpy.h(3) DPDK rte_memcpy.h(3)

NAME

rte_memcpy.h

SYNOPSIS

Functions


static void rte_mov16 (uint8_t *dst, const uint8_t *src)
static void rte_mov32 (uint8_t *dst, const uint8_t *src)
static void rte_mov48 (uint8_t *dst, const uint8_t *src)
static void rte_mov64 (uint8_t *dst, const uint8_t *src)
static void rte_mov128 (uint8_t *dst, const uint8_t *src)
static void rte_mov256 (uint8_t *dst, const uint8_t *src)
static void * rte_memcpy (void *dst, const void *src, size_t n)

Detailed Description

Functions for vectorised implementation of memcpy().

Definition in file rte_memcpy.h.

Function Documentation

static void rte_mov16 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 16 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void rte_mov32 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 32 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void rte_mov48 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 48 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void rte_mov64 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 64 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void rte_mov128 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 128 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void rte_mov256 (uint8_t * dst, const uint8_t * src) [inline], [static]

Copy 256 bytes from one location to another using optimised instructions. The locations should not overlap.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.

static void* rte_memcpy (void * dst, const void * src, size_t n) [static]

Copy bytes from one location to another. The locations must not overlap.

Note:

This is implemented as a macro, so it's address should not be taken and care is needed as parameter expressions may be evaluated multiple times.

For x86 platforms to enable the AVX-512 memcpy implementation, set -DRTE_MEMCPY_AVX512 macro in CFLAGS, or define the RTE_MEMCPY_AVX512 macro explicitly in the source file before including the rte_memcpy header file.

Parameters:

dst Pointer to the destination of the data.
src Pointer to the source data.
n Number of bytes to copy.

Returns:

Pointer to the destination data.

Author

Generated automatically by Doxygen for DPDK from the source code.

Thu May 23 2024 Version 23.11.0